﻿// ***********************************************************************
// Assembly         : Invisionware.API.Amazon
// Author           : Shawn Anderson (sanderson@eye-catcher.com)
// Created          : 01-10-2014
//
// Last Modified By : Shawn Anderson
// Last Modified On : 01-19-2014
// ***********************************************************************
// <copyright file="ItemDataTypes.cs" company="Invisionware">
//     Copyright (c) Invisionware. All rights reserved.
// </copyright>
// <summary></summary>
// ***********************************************************************

namespace Invisionware.API.Amazon
{
	/// <summary>
	/// Enum AwsItemOperationTypes
	/// </summary>
	public enum AwsItemOperationTypes
	{
		/// <summary>
		/// The item lookup
		/// </summary>
		ItemLookup,
		/// <summary>
		/// The item search
		/// </summary>
		ItemSearch
	}

	/// <summary>
	/// Enum AwsItemCoditionTypes
	/// </summary>
	public enum AwsItemCoditionTypes
	{
		/// <summary>
		/// All
		/// </summary>
		All,
		/// <summary>
		/// The new
		/// </summary>
		New,
		/// <summary>
		/// The used
		/// </summary>
		Used,
		/// <summary>
		/// The collectible
		/// </summary>
		Collectible,
		/// <summary>
		/// The refurbished
		/// </summary>
		Refurbished
	}

	/// <summary>
	/// Enum AwsItemIDTypes
	/// </summary>
	public enum AwsItemIDTypes
	{
		/// <summary>
		/// The asin
		/// </summary>
		ASIN,
		/// <summary>
		/// The sku
		/// </summary>
		SKU,
		/// <summary>
		/// The upc
		/// </summary>
		UPC,
		/// <summary>
		/// The ean
		/// </summary>
		EAN,
		/// <summary>
		/// The isbn
		/// </summary>
		ISBN
	}

	/// <summary>
	/// Enum AwsItemResponseGroupTypes
	/// </summary>
	public enum AwsItemResponseGroupTypes
	{
		/// <summary>
		/// The accessories
		/// </summary>
		Accessories,
		/// <summary>
		/// The browse nodes
		/// </summary>
		BrowseNodes,
		/// <summary>
		/// The editorial review
		/// </summary>
		EditorialReview,
		/// <summary>
		/// The images
		/// </summary>
		Images,
		/// <summary>
		/// The item attributes
		/// </summary>
		ItemAttributes,
		/// <summary>
		/// The item ids
		/// </summary>
		ItemIds,
		/// <summary>
		/// The large
		/// </summary>
		Large,
		/// <summary>
		/// The medium
		/// </summary>
		Medium,
		/// <summary>
		/// The offer full
		/// </summary>
		OfferFull,
		/// <summary>
		/// The offers
		/// </summary>
		Offers,
		/// <summary>
		/// The promotion summary
		/// </summary>
		PromotionSummary,
		/// <summary>
		/// The offer summary
		/// </summary>
		OfferSummary,
		/// <summary>
		/// The related items
		/// </summary>
		RelatedItems,
		/// <summary>
		/// The reviews
		/// </summary>
		Reviews,
		/// <summary>
		/// The sales rank
		/// </summary>
		SalesRank,
		/// <summary>
		/// The similarities
		/// </summary>
		Similarities,
		/// <summary>
		/// The small
		/// </summary>
		Small,
		/// <summary>
		/// The tracks
		/// </summary>
		Tracks,
		/// <summary>
		/// The variation images
		/// </summary>
		VariationImages,
		/// <summary>
		/// The variations
		/// </summary>
		Variations,
		/// <summary>
		/// The variation summary
		/// </summary>
		VariationSummary
	}

	/// <summary>
	/// Enum AwsXmlEscapingTypes
	/// </summary>
	public enum AwsXmlEscapingTypes
	{
		/// <summary>
		/// The single
		/// </summary>
		Single,
		/// <summary>
		/// The double
		/// </summary>
		Double
	}

	/// <summary>
	/// Class AwsItemLookupResult.
	/// </summary>
	public class AwsItemLookupResult
	{
		/// <summary>
		/// Gets or sets the asin.
		/// </summary>
		/// <value>The asin.</value>
		public string ASIN { get; set; }
		/// <summary>
		/// Gets or sets the sales rank.
		/// </summary>
		/// <value>The sales rank.</value>
		public int SalesRank { get; set; }
		/// <summary>
		/// Gets or sets the name of the product.
		/// </summary>
		/// <value>The name of the product.</value>
		public string ProductName { get; set; }
		/// <summary>
		/// Gets or sets the detail page URL.
		/// </summary>
		/// <value>The detail page URL.</value>
		public string DetailPageUrl { get; set; }
		/// <summary>
		/// Gets or sets the manufacturer.
		/// </summary>
		/// <value>The manufacturer.</value>
		public string Manufacturer { get; set; }
		/// <summary>
		/// Gets or sets the product price.
		/// </summary>
		/// <value>The product price.</value>
		public decimal ProductPrice { get; set; }
		/// <summary>
		/// Gets or sets the product group.
		/// </summary>
		/// <value>The product group.</value>
		public string ProductGroup { get; set; }

		/// <summary>
		/// Gets or sets the large product image URL.
		/// </summary>
		/// <value>The large product image URL.</value>
		public string LargeProductImageUrl { get; set; }
		/// <summary>
		/// Gets or sets the medium product image URL.
		/// </summary>
		/// <value>The medium product image URL.</value>
		public string MediumProductImageUrl { get; set; }
		/// <summary>
		/// Gets or sets the small product image URL.
		/// </summary>
		/// <value>The small product image URL.</value>
		public string SmallProductImageUrl { get; set; }
	}
}
